Typical physical networks often use Dynamic Host Configuration Protocol (DHCP) to assign IP addresses to physical machines. When a computer boots up, one of the processes that computer performs is to communicate with one or more DHCP servers to request and receive an IP address. This assignment may be static (a given computer always receives the same IP address based on its MAC address) or dynamic (the DHCP server assigns an IP address from a range of addresses, and a given computer may receive different IP addresses at different times).
In virtualized networks, virtual machines also require IP addresses. With the number of virtual machines that may operate in a multi-tenant data center, having a single DHCP server or even several DHCP servers operating to serve all of the virtualized networks in a data center may not be feasible, especially in the bootstorm case (when numerous VMs are started up at the same time). Thus, methods for providing DHCP service to such virtualized networks are needed.